iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
佛心分享-SideProject30

30天的旅程!從學習C#到開發小專案系列 第 4

DAY 4 - ASP.NET Core Web API 架構揭秘(下)

  • 分享至 

  • xImage
  •  

哈囉大家好!
今天要延續昨天的內容,把剩下的資料夾和檔案介紹完~
先附上web API project的架構:

- myExampleApi/
    ├── bin/
    ├── obj/
    ├── Properties/
    ├── appsettings.Development.json
    ├── appsettings.json
    ├── myExampleApi.csproj
    ├── myExampleApi.sln
    ├── Program.cs

昨天簡單介紹完bin和obj後,接下來要介紹的是Properties!

3. Properties:

專案的屬性相關設定會存放在這個資料夾中,可以在資料夾裡面發現預設的launchSettings.json檔。會在launchSettings.json檔中進行「開發時啟動專案方式」的設定。
偷看一下launchSettings.json的預設內容:

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "profiles": {
    "http": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "http://localhost:5232",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "https": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "https://localhost:7105;http://localhost:5232",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

4. appsettings.json:

和launchSettings.json檔名稱長得很像,顧名思義也就是「專案的設定檔」,通常會在者裡設定資料庫的連線字串、API KEY、 Log設定、Token設定...等。

5. appsettings.Development.json:

和appsettings.json僅差了一個字"Development"!這個檔案是「環境專屬的設定檔」,只會在Development的環境中生效。
所以測試時使用的設定都可以寫在這裡,ASP.NET Core會根據ASPNETCORE_ENVIRONMET(可以在launchSettings.json檔中找到!)的值來載入對應的檔案,Development會載入appsettings.Development.json,Production則會載入appsettings.Production.json。
若同時在appsettings.json和appsettings.Development.json都進行設定,會以appsettings.Development.json的設定為優先,覆蓋appsettings.json的設定~

6. myExampleApi.csproj

這個檔案的內容比較特別,是XML格式,也是C#的專案檔,用來定義專案的目標框架、需要的套件、編譯選項...等。
下方是Web API專案的預設格式:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net9.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>
</Project>

7. myExampleApi.sln

這個是solution方案檔!用來組織一或多個專案,是純文字檔。通常不會編輯這個檔案,當我們新增或刪除關聯專案,或是更改設定時,IDE會根據編輯內容來更新solution檔。

8. Program.cs

這個檔案是整個專案的進入點,主要負責的功能有:

  • 建立應用程式
  • 註冊需要的服務(Dependency Injection)
  • 設定Middleware(中介軟體,處理CORS,身份驗證、路由...等)
  • 啟動web API
    預設格式如下:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

今天把Web API的架構簡單認識後,明天就要來寫寫看扣了!
感覺更新時間越來越晚了,要好好督促自己/images/emoticon/emoticon02.gif
那就明天見 掰掰~


上一篇
DAY 3 - ASP.NET Core Web API 架構揭秘(上)
系列文
30天的旅程!從學習C#到開發小專案4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言